Cloud-Based Virtual Machines and Offices

ABSTRACT

Cloud-based virtual machines and offices are provided herein. Methods may include establishing a cloud-based virtual office, by providing selections, corresponding to backups of servers of a computing network, to a user interface, establishing a cloud gateway for the virtual office, virtualizing a backup for each server using a virtualization program to create the cloud-based virtual office that includes virtual server machines networked with one another via the cloud gateway, and providing a workload to the cloud-based virtual office.

CROSS-REFERENCE TO RELATED APPLICATIONS

This non-provisional U.S. patent application is a continuation of andclaims the benefit of U.S. patent application Ser. No. 14/564,082, filedon Dec. 8, 2014, entitled “Cloud-Based Virtual Machines and Offices,”which is a continuation of and claims the benefit of U.S. patentapplication Ser. No. 13/570,161, filed on Aug. 8, 2012, entitled“Cloud-Based Virtual Machines and Offices,” all of which are herebyincorporated by reference herein, including all references citedtherein.

This non-provisional U.S. patent application is related to U.S. patentapplication Ser. No. 12/895,275, filed on Sep. 30, 2010, entitled“Systems and Methods for Restoring a File”; U.S. patent application Ser.No. 13/030,073, filed on Feb. 17, 2011, entitled “Systems and Methodsfor Maintaining a Virtual Failover Volume of a Target Computing System”;and U.S. patent application Ser. No. 13/437,738, filed on Apr. 2, 2012,entitled “Systems, Methods, and Media for Synthesizing Views of FileSystem Backups”, now U.S. Pat. No. 8,589,350, issued on Nov. 19,2013—all of which are hereby incorporated by reference herein in theirentireties.

FIELD OF THE TECHNOLOGY

Embodiments of the disclosure relate to systems and methods thatfacilitate interaction with backup file structures, and morespecifically, but not by way of limitation, to the management ofcloud-based virtual machines and virtual offices.

BACKGROUND OF THE DISCLOSURE

Remote backup systems often comprise snapshots and incremental filesthat are generated for a target source such as a filesystem, database orother digital storage media. These files may be backed up to acloud-based storage environment and may be accessed upon the occurrenceof a failure event. Unfortunately, system administrators may be unableto determine the content included in the snapshots or incremental files,the difference between snapshots, or other pertinent information, andmay therefore be unable to readily determine an appropriate backup toaccess for recovering a particular machine state or application.Restoration of file system backups are an expensive and time-consumingprocess, and indiscriminate restoration only increases such deleteriouseffects.

SUMMARY OF THE DISCLOSURE

According to some embodiments, the present technology may be directed tomethods for managing a cloud-based virtual machine, the methodcomprising: (a) providing one or more selections corresponding to one ormore backups of a computing device via a user interface to an end user;(b) receiving a selection of at least one of the one or more backups;(c) receiving configuration details for the computing device, theconfiguration details comprising computing resources that are to bededicated to a cloud-based virtual machine that corresponds to thecomputing device; (d) virtualizing the backup within the cloud computingenvironment using a virtualization program to create the cloud-basedvirtual office having the specified configuration details; and (e)providing access to the cloud-based virtual office to a remote user.

According to some embodiments, the present technology may be directed tomethods for establishing a cloud-based virtual office. The methods maycomprise the steps of: (a) providing selections, corresponding tobackups of servers of a computing network, to a user interface; (b)establishing a cloud gateway for the virtual office; (c) virtualizing abackup for each selected server using a virtualization program to createthe cloud-based virtual office that includes virtual server machinesnetworked with one another via the cloud gateway; and (d) providing aworkload to the cloud-based virtual office.

In other embodiments, the present technology may be directed to acloud-based virtual office executing within a computing environment, thecloud-based virtual office comprising virtual server machines thatcorrespond to servers of a physical network, each virtual server machinebeing virtualized by a virtualization program from a backup of aphysical server, the backup of the physical server being stored withinmemory of the computing environment, the virtualization program beingexecuted by a processor of the computing environment upon an occurrenceof a failover event, the processor further establishing a cloud gatewaythat networks the virtual server machines together.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, together with the detailed description below, are incorporated inand form part of the specification, and serve to further illustrateembodiments of concepts that include the claimed disclosure, and explainvarious principles and advantages of those embodiments.

The methods and systems disclosed herein have been represented whereappropriate by conventional symbols in the drawings, showing only thosespecific details that are pertinent to understanding the embodiments ofthe present disclosure so as not to obscure the disclosure with detailsthat will be readily apparent to those of ordinary skill in the arthaving the benefit of the description herein.

FIG. 1 illustrates an exemplary system for practicing aspects of thepresent technology.

FIG. 2A is a schematic diagram of an exemplary Actual Office (also knownas a physical network).

FIG. 2B is a schematic diagram of an exemplary Cloud-Based VirtualOffice.

FIG. 3 is an exemplary user interface in the form of a managementconsole interface that includes a failover launch button.

FIG. 4 is an exemplary user interface in the form of a client interfacethat lists clients with failover appliances.

FIG. 5 is an exemplary cloud failover start window.

FIG. 6A is an exemplary new virtual office display interface.

FIG. 6B is a section of the interface of FIG. 6A that includes variousvirtual office settings tabs used to configure the cloud-based virtualoffice.

FIG. 7 is an exemplary network settings interface that allows forspecification of gateway, netmask information, and VNC IP informationfor the cloud-based virtual office.

FIGS. 8A and 8B are exemplary interfaces that allow for the input of VPNsettings for the cloud-based virtual office.

FIG. 9 is an exemplary interface that allows individuals to login to theVPN that has been established for the cloud-based virtual office.

FIGS. 10 and 11 are exemplary interfaces that allow end users to loginto the cloud-based virtual office.

FIG. 12 is an exemplary interface that allows for specification of portforwarding information for the cloud-based virtual office.

FIG. 13 is an exemplary interface that allows for specification ofdynamic host configuration protocol information for the cloud-basedvirtual office.

FIGS. 14 and 15 are exemplary interfaces that allow for thespecification of site-to-site VPN information for the cloud-basedvirtual office.

FIGS. 16 and 17 are exemplary interfaces that allow for thespecification of site-to-site VPN information for the cloud-basedvirtual office, where FIG. 16 illustrates establishing site-to-site VPNusing a static IP address and FIG. 17 illustrates establishingsite-to-site VPN using a DHCP address assignment.

FIG. 18 is an exemplary interface that allows for the specification offurther details regarding the establishment of a site-to-site VPN, wherean end user may download a virtual image for the VPN client.

FIG. 19 is an exemplary client details interface that includesinformation about the cloud-based virtual office environment for aspecific client.

FIG. 20 is an exemplary interface that allows for the rendering of aserver image to configure and launch a virtual server machine.

FIGS. 21A-C each include a section of a table of exemplary clientinformation details that may define aspects of a client.

FIG. 22 is an exemplary client interface where a system administratormay select a target server and choose a desired action in the “Actions”column pull-down list.

FIG. 23 is an exemplary VNC client interface.

FIG. 24 is an exemplary interface that displays active virtualizationsfor a client.

FIG. 24A illustrates an exemplary method for establishing a cloud-basedvirtual office.

FIG. 25 is an exemplary user interface that comprises a Device InventoryNavigation Table.

FIG. 26 illustrates an exemplary user interface that comprises a DeviceTable that includes a Device Summary Pane Desktop Image.

FIG. 27 is an exemplary user interface that comprises a SpecificationsDevice Table.

FIG. 28 is an exemplary user interface that comprises DeviceVisualizations.

FIG. 29 illustrates an exemplary computing system that may be used toimplement embodiments according to the present technology.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the disclosure. It will be apparent, however, to oneskilled in the art, that the disclosure may be practiced without thesespecific details. In other instances, structures and devices are shownat block diagram form only in order to avoid obscuring the disclosure.

Generally described, the present technology offers end users protectionin the case of a site disaster by providing a virtual office in the“cloud,” that supports servers running as failover virtual machines(VMs) in an exemplary data center. As will be described in greaterdetail herein, the present technology also allows end users to configureand/or manage these virtual offices by way of user interfaces that aresimple to utilize, yet powerful.

The present technology may allow end users, such as systemadministrators, to establish and/or manage a virtual office, also knownas a cloud-based virtual office or network. A cloud-based virtual officemay comprise two or more virtual machines that are arranged into anetworked computing system architecture. Thus, in the event of a failureof a physical (e.g., bare metal, hardware-based) computing network, thepresent technology may allow for failover to a cloud-based virtualoffice that provides the functionalities of the physical computingnetwork.

Prior to the creation of a cloud-based virtual office, the presenttechnology may generate file system backups for a plurality of computingsystems of a network such as servers. More specifically, the presenttechnology may process incremental files such as reverse incrementaldelta increments, along with other reverse differential backupfunctionalities such as methods for restoring a file or disk asdescribed in U.S. patent application Ser. No. 12/895,275, filed on Sep.30, 2010, entitled “Systems and Methods for Restoring a File”—which ishereby incorporated by reference herein in its entirety.

Additionally, prior to creating a cloud-based virtual office, thepresent technology may allow end users to browse the backed-up files asdescribed in U.S. patent application Ser. No. 13/437,738, filed on Apr.2, 2012, entitled “Systems, Methods, and Media for Synthesizing Views ofFile System Backups”, now U.S. Pat. No. 8,589,350, issued on Nov. 19,2013—which is hereby incorporated by reference herein in its entirety.

FIG. 1 illustrates an exemplary system 100 for practicing aspects of thepresent technology. The system 100 may include a backup node 105 thatreceives file system backup data from a plurality of client nodes, suchas client node 110. The backup node 105 may include an individual serverthat includes a storage media, while in other embodiments the backupnode 105 may include a cloud-based computing environment that isconfigured to store file system backups received from the client node110. In some instances, the client node 110 may comprise a physicalnetwork of a plurality of computing devices that are networked together.Thus, the file system backup data may be stored for each of theplurality of computing devices of the physical network.

To increase protection and integrity of the file system backups storedin the backup node, the system 100 may also include an intermediary node115 disposed between the backup node 105 and the client node 110. Theintermediary node 115 may be communicatively couplable with the backupnode 105 via a network connection 120. The network connection 120 mayinclude any one of a number of public or private communications mediums,although in one embodiment, the network connection 120 may employ asecure protocol that encrypts data transmitted between the backup node105 and the intermediary node 115.

Additionally, the client node 110 may interact with the intermediarynode 115 via any one of a number of authentication methods, for example,a private/public key pair, or any other means of authentication thatwould be known to one of ordinary skill in the art with the presentdisclosure before them, such as a username and password.

In some embodiments, the backup node 105 may expose views of a backed upfile system to the intermediary node 115, rather than exposing the viewsdirectly to the client node 110. The exposing of the view to theintermediary node 115 may preserve the integrity of the file systembackup by preventing direct access to the file system backups. In short,the intermediary node 115 limits access to the data stored on the backupnode 105.

In some embodiments, the backup node 105 may comprise a cloud-basedcomputing environment, which is a resource that typically combines thecomputational power of a large grouping of processors and/or thatcombines the storage capacity of a large grouping of computer memoriesor storage devices. For example, systems that provide a cloud resourcemay be utilized exclusively by their owners, such as Google™ or Yahoo!™,or such systems may be accessible to outside users who deployapplications within the computing infrastructure to obtain the benefitof large computational or storage resources.

The cloud may be formed, for example, by a network of web servers, witheach web server (or at least a plurality thereof) providing processorand/or storage resources. These servers may manage workloads provided bymultiple users (e.g., cloud resource customers or other users).Typically, each user places workload demands upon the cloud that vary inreal-time, sometimes dramatically. The nature and extent of thesevariations typically depend on the type of business associated with theuser.

In the event of a server failure (e.g., failover event), end users canfailover that server as a virtual machine (VM) on a local failoverappliance (not shown herein but described in greater detail in U.S.patent application Ser. No. 13/030,073, filed on Feb. 17, 2011, entitled“Systems and Methods for Maintaining a Virtual Failover Volume of aTarget Computing System”). However, if there is a site disaster (e.g.,failure of at least a portion of the networked computing environment) orthe local failover appliance fails, end users can still failover aserver or the entire network as a VM in the “cloud,” that is running,for example, on the backup node 105.

According to some embodiments, the present technology allows end usersto create a cloud-based virtual office running on the backup (e.g., thebackup cloud) of intermediary node. The operational characteristics ofthe cloud-based virtual office may substantially match the operationalcharacteristics of the physical network of the end user. Additionally,end users may configure network settings for the cloud-based virtualoffice to provide secure access to the cloud-based virtual office byconfiguring virtual private network (VPN). Additionally, end users mayallow network access to VMs of the cloud-based virtual office byconfiguring port forwarding, and/or allow VMs access to the Internet byenabling outbound connections. For security purposes, VM access to theInternet may be disabled by default. In some instances, the presenttechnology may also provide dynamic host configuration protocol (DHCP)functionality for the cloud-based virtual office.

The present technology may allow end users to start the VMs (howevermany) of the cloud-based virtual office from restore points (backupversions) of the end user's choosing.

Referring now to FIGS. 2A and 2B, showing an actual office (e.g.,physical computing devices) 205 and a complementary cloud-based virtualoffice 210. By way of non-limiting example, consider the actual office205 that has separate servers such as an Exchange® server (server 215with an internal static IP address of 10.3.3.15), a SharePoint® server(server 220 with an internal static IP address of 10.3.3.21), and anActive Directory® server (server 225 with an internal static IP addressof 10.3.3.22). All of these servers may be connected through a physicalgateway server 230 with an IP address of 10.3.3.1.

It will be understood that an image backup job may be created for eachserver of the actual office 205, and the backups may be saved bothonsite and offsite, such as on the backup node 105. Assume that theactual office 205 is next to a river that overflows and floods themachine room. The following steps are an exemplary method for recoveringfrom the disaster. A system administrator may log into the backup node105 (from home or any available location) and begin the process ofestablishing a cloud-based failover, such as the virtual office 210.Utilizing various graphical user interfaces, which will be described ingreater detail herein, the systems administrator may configure thecharacteristics of the virtual office 210.

According to some embodiments, an IP address for a cloud-based gatewayVM 235 of the virtual office 210 may be set to 10.3.3.1 to match the IPaddress of the gateway server 230 of the actual office 205. For securitypurposes, the system administrator may desire secure access to thevirtual office 210, to configure a VPN for the virtual office 210 andestablish access credentials for at least a portion of the employees ofthe actual office 205.

In some instances, the system administrator may establish portforwarding for the standard web ports for the servers of the virtualoffice, although any types of ports may likewise be utilized inaccordance with the present technology. For example, the systemadministrator may map exemplary external ports such as 80 and 443, onone or more allocated internet accessible IP addresses, to the internalports 8000 and 8443 on the cloud-based exchange server VM 240.Similarly, an active directory server VM 250 and a share point server245 may also be configured to communicatively couple with thecloud-based gateway VM 235. Once exemplary ports have been forwarded tothe necessary servers within the virtual office 210, the systemadministrator may then start a cloud-based VM for each of the servers.It will be understood that the port forwarding rules can be created atanytime before or after the VMs have been started. Once the VMs havebeen started, the employees can now work from home and access thevirtual office 210 while the flood damage is being repaired.

Following on with the example, three weeks later the location of theactual office 205 is repaired and ready for use. While the cloud serverVMs continue to run, the system administrator may begin repairing orreplacing damaged hardware such as the physical servers or the failoverappliance(s). In the case of failover appliances, the failoverappliances may be seeded with data from the intermediary node (or thebackup node), such as snapshots and incremental files. Once thereplacement appliance(s) has been installed, the replacementappliance(s) may then communicatively couple with the intermediary nodeor backup node via the Internet, where a synchronization of data occurs.The synchronization provides the latest version of snapshot andincremental files for the VMs running within the virtual office 210. Thecloud-based VM servers may then be shut down such that the failoverappliance(s) may resume the primary role. Finally, a bare metal restoremay be performed for each replacement server to complete the physicalrecovery of the actual office 205.

More specifically, the management of a cloud-based failover (e.g.,virtual office) may include the steps of starting a virtual office in acloud-based backup system. The starting of the virtual office maycomprise executing a test failover (virtual office), in either anautomatically on a scheduled basis, or manually, to verify that thevirtual office is operational. Once the test is completed and thevirtual office is determined to be operational, the system administratormay then start a production failover when a site disaster occurs (e.g.,upon the occurrence of a failover event). It will be understood that anadministrator can start a production failover without first creating atest failover.

Once initiated, the virtual office may be configured by specifyingdetails, such as Network Configuration, VPN, DHCP, and port forwarding,each of which will be described in greater detail below. Once properlyconfigured, the system administrator may start server VMs in the virtualoffice and then monitor the status of the server VMs. In some instances,system administrators may manage individual server VMs and eventerminate operation of the cloud-based virtual office. The terminationof a cloud-based virtual office may comprise the discarding of a testfailover and/or a migration of a production failover to a new localfailover appliance.

FIG. 3 illustrates an exemplary user interface in the form of a webbased management console (MC) interface, hereinafter “detail interface300” for starting a virtual office. To start a virtual office the systemadministrator may log into the MC and follow either of the followingsets of step(s). First, in a dashboard method, the system administratormay select a target appliance and choose the Failover option from thepull-down list in the Actions column. It is noteworthy that if thesystem administrator desires to failover multiple appliances, the systemadministrator may utilize what is referred to as the “clients” method.The system administrator may click clients' tab 305 to display aclient's interface 400 (see FIG. 4). The system administrator may selecta target client and choose the Details option from the pull-down list inthe Actions column.

The detail interface 300 for that client may then be displayed. Thesystem administrator may check a box 310 for the target appliance andthen click the Failover Selected Appliances button 315.

FIG. 5 illustrates an exemplary cloud failover start window 500. Oncethe Failover Selected Appliances button 315 of FIG. 3 has beenactivated, the cloud failover start window 500 is displayed. The systemadministrator may then utilize the cloud failover start window 500 toestablish Gateway information 505 such as the gateway IP address for thecloud gateway of the virtual office. According to some embodiments, ifknown, the gateway IP and netmask may be pre-populated based on dataobtained from the appliance. Additionally, the system administrator mayestablish Netmask information 510 and Failover Type information 515. TheFailover Type information 515 allows the system administrator to selecteither Test or Production options. The test option 520 allows for thecreation of a test environment. A test virtual office functions as a“sandbox” failover environment that may not be backed up. Systemadministrators may use this feature to test whether the virtual officeworks as desired. It will be understood that a test failover may beisolated from normal network operations. For example, onsite and offsiteback up jobs may continue normally while a test failover is active. In atest failover, accumulated configuration and data changes/additionswithin the VMs may be lost when the VMs are stopped.

The Failover type of Production may be selected to create a completecloud failover environment (e.g., virtual office, virtual cloud-basedVM). It is noteworthy that in some instances the cloud failover maycomprise a plurality of virtualized machines in an office or in someinstances the cloud failover may only comprise a single computing systemsuch as a desktop computer or a laptop computer.

The Production 525 failover may be backed up while running and may beused to repopulate a replacement failover appliance (when ready). TheProduction 525 failover may be used as an interim solution during adisaster. For example, a virtual office may be utilized until thephysical site is once again operational (e.g., servers are replaced orrepaired).

A “Start Virtual Office” message box may appear as the virtual office isconfigured. After the virtual office environment set up is completed,the client detail interface reappears with a new virtual office display600 (see FIG. 6A). This indicates the cloud failover environment is nowset up and ready. At this point the system administrator can configurevarious network options (e.g., VPN, DHCP, and port forwarding) for thevirtual office, as will be discussed in greater detail below.

To configure virtual office network settings, or VLAN, the systemadministrator may utilize a section 605 positioned on the left side ofthe new virtual office display 600. According to some embodiments, thesection 605 may include a plurality of tabs that allow for configurationof the virtual office. In some instances the section 605 may comprise a“What's Next?” textual content section that provides a brief descriptionof configuration (and start) options, and provides a navigationmechanism to each configuration section. A Network Settings tab 610(FIG. 6A) may display the gateway and netmask settings for the virtualoffice. A VPN Settings tab 625 may display the current VPN settings(disabled by default) for the virtual office. A Port Forwarding Settingstab 615 may be utilized to display current port forwarding settings(disabled by default) for the virtual office. A DHCP Settings tab 620may be utilized to display current DHCP settings (disabled by default)for the virtual office. A Site to Site VPN Settings tab 635 (FIG. 6B)may be utilized to display current settings for a local site-to-site VPN(disabled by default). The functionalities attributed to each of thesetabs will be discussed in greater detail below with regard to FIG. 6Bwhich includes a larger view of the section 605.

According to some embodiments, the gateway and netmask settings may beautomatically configured when the cloud failover is started. However,the system administrator can change those settings at any time. Clickingthe Network Settings tab 610 of FIG. 6A causes the display of a CloudNetwork Settings interface 700 of FIG. 7. To edit the network settingsof the interface 700 the system administrator may click on the NetworkSettings section and then enter a new value for one or more of thefollowing fields: Gateway 705, where a new gateway IP address may beentered; Netmask 710, wherein a new netmask value may be entered; andVNC IP 715 (optional), where an IP address(es) for VNC clients may beentered, which can be any available (unused) IP address for the virtualoffice. Normally, VNC clients can use the virtual office gatewayaddress, such that separate IP addresses may not be necessary. However,VNC clients may not be able to use the initial virtual office gatewayaddress when testing a cloud failover while the original gateway isstill active (a common situation when testing from the actual office).This is due to the fact that the VNC client will default to the originalgateway device instead of the virtual office. This field allows thesystem administrator to specify an alternate IP address that avoids thisproblem.

Additionally, the Network Settings section may comprise InternetConnectivity 720 (optional). This option may enable outbound access tothe Internet by the VMs of the virtual network. It is noteworthy thatenabling Internet connectivity may allow both outbound and inboundmessages between external devices and the server VMs in the virtualoffice. Conversely, disabling Internet connectivity allows only inbound(not outbound) messages from external devices. This means that serverVMs within the virtual office can communicate with each other andexternal traffic can be received (if port forwarding is enabled), butthe server VMs may not be allowed to send messages outside the virtualoffice.

Clicking the VPN Settings tab 615 of FIG. 6A displays VPN Settinginterface 800 of FIG. 8A, which allows the system administrator toenable split tunneling by checking split tunneling box 805. Splittunneling allows VPN users to access the Internet and the virtual officeLAN at the same time using the same network connection. A VLAN IP may beestablished by entering an IP address for the virtual LAN in a LAN IPtext input box 810. It is noteworthy that this is the IP address thatmay be assigned to a virtual network interface inside the virtualoffice. Conceptually, this IP address may comprise the IP address on theVLAN that has been assigned to the VPN server. For example, in aphysical office network this is the internal IP address of the VPNserver.

A Client IP Range may be established by entering a range (beginning andending values) of available IP addresses within boxes 815 and 820. Thisis a range of private IP addresses, on the VLAN within the virtualoffice, that are assigned to the VPN end users once they are connectedthrough the VPN. For example, in a physical office network, this can bea range of IP addresses dedicated to user workstations.

According to some embodiments, user authentication may be set directlyvia VPN Settings interface 825 of FIG. 8B. Alternatively, to set userauthentication through Active Directory, VPN Settings interface 800 ofFIG. 8A may be utilized by first clicking AD button 830. Next, thesystem administrator may enter the IP address of an Active Directoryserver present within the virtual office into AD IP box 835 and a domainname for the Active Directory server in AD Domain box 840. Next, anActive Directory Domain user name and password may be input in theappropriate fields that allows the VPN server to access the ActiveDirectory within the virtual office for the purposes of verifying auser's username and password combination.

To set user authentication directly via the VPN Settings interface 825of FIG. 8B, the system administrator may click the Direct button 845 andenter a username and password in the appropriate fields. If there aremultiple users, click the Add Another button 850 and repeat this step asmany times as necessary. The number of VPN users may be capped byservice subscription entitlement limitations.

It will be understood that the VLAN and client range IP addresses may beprivate IP addresses from the cloud failover network (as defined by thegateway address and network mask) that do not overlap with IP addressesof server VMs that are specified to start in the cloud, or any otherallocated IP addresses within the virtual office, for example DHCP IPaddress range, VNC IP address, gateway IP. This avoids potential IPaddress conflict, and as mentioned above, the addresses can be changedlater if necessary or desired. The system validates that the entered IPaddress range does not overlap or conflict with any other IP addresseswithin the virtual office.

By way of non-limiting example, consider an example where the gateway IPaddress is 192.168.77.1, the netmask is 255.255.255.0, and the serversin the physical office had IP addresses in the range 192.168.77.2through 192.168.77.10. The VNC IP is set to 192.168.77.254, and the DHCPservice is assigned to 192.168.77.200 with a DHCP Client Range:192.168.77.201-192.168.77.253. To prevent a conflict with theseaddresses, enter the following values: VPN VLAN IP: 192.168.77.11 (thenext available address) in LAN IP box 810 and VPN Client IP Range:192.168.77.12-192.168.77.199 (all remaining available addresses in boxes815 and 820, respectively.

Turning to FIG. 9, FIG. 9 shows an exemplary interface that allowsindividuals to download the VPN client software, which allowsindividuals to login to the VPN that has been established for thecloud-based virtual office. After VPN is enabled, a Cloud VPN LoginInterface 1000 of FIG. 10 is displayed. VPN clients may utilize thisinterface 1000 to enter their appropriate authentication credentialssuch as a username and/or password. Upon clicking Sign In button 1005, aCloud VPN Client Session Interface 1100 of FIG. 11 may be displayed. TheCloud VPN Client Session Interface 1100 may comprise a Network Startbutton 1105. VPN clients may sign out of their VPN session using theSign Out Icon 1110 located in a toolbar 1115 of FIG. 11, which alsocomprise other buttons that launch features such as Preferences, Help,and Home.

According to some embodiments, the system administrator may specify PortForwarding Settings for the virtual office by selecting the PortForwarding Settings tab 605 of FIG. 6B to display a Cloud PortForwarding Settings interface 1200 as shown in FIG. 12. Generallyspeaking, port forwarding may not be enabled by default, but the systemadministrator may configure port forwarding to work in the cloud-basedvirtual office. The system administrator may input appropriate mappingvalues into the interface 1200. More specifically, the interface 1200may display the public IP address allocated by the system and threeoptional blank fields. These blank fields may comprise EXT PORT 1205where the system administrator may enter an external port number, anINTERNAL IP 1210 where the system administrator may enter an IP addressof a VM that exists within the virtual office vlan, as well as an INTPORT 1215 where the system administrator may enter an internal portnumber. Additional entries may be included by clicking an “Add Another”link and inputting the desired information. According to someembodiments, after port forwarding is enabled, the externally mapped IPaddress appears as part of the port forward configuration display.Multiple public IP addresses may be assigned to a virtual office. Thenumber assigned is driven by the entitlements associated with theclient's service subscription. Each allocated public IP address may haveits own set of port forwarding rules.

The system administrator may then enable DHCP settings for thecloud-based virtual office. As mentioned above, DHCP settings, bydefault, may not be automatically established for the cloud-basedvirtual office. Therefore, the system administrator may utilize the DHCPsettings tab 630 of FIG. 6B to display a Cloud DHCP Settings interface1300 of FIG. 13 which allows the system administrator to specify DHCPsettings for the cloud-based virtual office.

In some instances, to configure or edit the DHCP settings for thecloud-based virtual office, the system administrator select an “Enabled”box if it is not already checked. The system administrator may thenenter a domain name in the Domain field 1305 and a host name or IPaddress for the DNS server in the DNS Server field 1310. If there aremultiple DNS servers, the system administrator may select the “AddAnother” button and repeat the data input steps regarding the DNS IPaddress fields many times as necessary.

Next, the system administrator may then enter a range of IP addressesthat can be used by cloud-based virtual office in the Range fields 1315and 1320, as well as assign an IP address to a server by entering a MACaddress in the Mac to IP field 1325. Again, if there are multiplecomputing devices that require IP addresses assigned based on their MACaddress, the system administrator may click the “Add Another” button andrepeat this step as many times as necessary. It will be understood thatDHCP may assign IP addresses to any servers not specified in this field.Validation checks may be made against the input IP addresses to insurethat they do not conflict with the IP addresses already configured forthe virtual office.

In accordance with the present disclosure, the system administrator mayalso establish site-to-site VPN settings by clicking the Site to SiteVPN Settings tab 635 of FIG. 6B to launch a Cloud Site-to-Site VPNinterface 1400 of FIG. 14.

In addition to the standard VPN set up, the system administrator canalso set up a VPN connection between two or more remote sites. Morespecifically, while the standard set up configures VPN for individualdevices to connect to the cloud-based virtual office, site-to-site VPNallows the system administrator to create a single VPN end point withinthe local network through which any local user can connect to thecloud-based virtual office.

In some instances, a virtual image (end point) may be downloaded onto aVM system in the cloud-based virtual office and then running the virtualimage from that system. A site-to-site VPN may be utilized during a sitedisaster and can provide valuable services in the following situations.For example, when a site disaster occurs in an organization with two (ormore) sites linked together in a corporate network, a site-to-site VPNconnection can be configured that effectively recreates the corporatenetwork for the unavailable physical site. In other instances, when asite is being rebuilt after a disaster, a site-to-site VPN may allowusers to physically utilize the site while the machine room is stillunder repair. Thus, the site-to-site VPN connection can be configured asa replacement while the machine room and servers are rebuilt.

The Cloud Site-to-Site VPN interface 1400 of FIG. 14 may be utilized toset up site-to-site VPN by setting up a system in the network that willrun the virtual image (VPN end point). Upon clicking the Edit button1400 of FIG. 14, an Edit interface 1500 of FIG. 15 may be displayed. TheEdit interface 1500 allows the system administrator to enablesite-to-site VPN, restrict access to the cloud-based virtual office byinputting a WhiteList of IP addresses.

Next, the system administrator may click the “Add End Point” button ofFIG. 1400 to display an Endpoint Setting interface 1600 of FIG. 16. Thesystem administrator may input a name for the end point in End Pointfield 1605. This can be anything such as a descriptive name for theoffice (e.g., office1). Next the system administrator may optionallyinput a password for secure socket layer (SSL) authentication, an RSAkey, or other authentication information. Users must enter that passwordwhen accessing the VPN. It will be understood that if this field is leftblank, no password may be required, although server login credentialsmay still apply. The system administrator may also assign the targetsystem a static IP address, or alternative utilize DHCP for automaticaddress assignment. Otherwise, the system administrator may input agateway IP address, netmask value, an IP address of the Endpoint, and/oran IP address of a DNS server. To configure using DHCP, a gateway IPaddress and netmask values may be entered. FIG. 17 is an exemplaryinterface that allow for the specification of site-to-site VPNinformation for the cloud-based virtual office, and illustrates theestablishing site-to-site VPN using a DHCP address assignment.

Next, a download client link may be selected to download the virtualimage using the Download Client interface 1800 of FIG. 18. The systemadministrator may download the virtual image anywhere on the targetsystem. The virtual image may or may not be compressed and/or encrypted.Continuing with the example above, the Endpoint name is “office1” so azipped file is called vpn_endpoint-office1.zip may be selected anddownloaded.

The system administrator may execute any type of program that is capableof running a virtual machine on their local machine. For example, thevirtual image may be booted using a virtualization program before theaddress for the virtual machine can be added to the network routingtable for the virtual office.

After the virtual office starts (see virtual office 210 of FIG. 2B), noserver VMs are running initially. To start a server VM, the systemadministrator may utilize the Virtual Office Detail interface 1900 ofFIG. 19, which includes configuration options on the left and server VMinformation on the right. The initial VM Status for all servers isoffline. The system administrator may choose a server by click the downarrow at the end of the line and select Render from the pull-down list.A Render Server Image interface 2000 of FIG. 20 is displayed whichallows the system administrator to select a server image backup (dateand time) from a pull-down list. Additionally, the system administratormay select the number of CPU cores to use for this VM (e.g., byleft-click of their mouse and moving the sliding bar to the desirednumber). The system administrator can allocate up to the maximum numberof available (entitled and unused) cores for this VM server. In someinstances, the system administrator may select an amount of memory toallocate to this VM (e.g., by left-click their mouse and moving thesliding bar to the desired number). In some embodiments, RAM memory maystart at one gigabyte (GB) and can be increased in one GB increments upto the maximum available (entitled and unused) memory for this client.Finally, the clicking the Render button starts the rendering process.

It will be understood that input methods may not be limited to specificmouse clicks, and may comprise any pointer device primary click,including motion-based input, gestures, touch, and other inputs thatwould be common on mobile devices with touch screen inputs.

Referring back to FIG. 19, after the virtual office starts, the VirtualOffice Detail interface 1900 may contain information about thecloud-based virtual office for that client. For example, the VirtualOffice Detail interface 1900 may include Client Information. The topright section of the interface contains information about the client.Exemplary fields relative to client details are described in greaterdetail relative to FIGS. 21A-C.

Once a server VM has been rendered, the system administrator may managethe operation of the server VM using Running VM Options interface 2200of FIG. 22. On the Running VM Options interface 2200, the systemadministrator may select a target server VM and choose a desired actionin the “Actions” column pull-down list shown in FIG. 22.

To shutdown a server VM, the system administrator may select the Stopoption. The VM Status may change to Ready when the shutdown is complete,such that the VM may be restarted at any time. To restart a previouslyshutdown server VM, the system administrator may select the Startoption. It is noteworthy that the time it takes to start up the VM maydepend on several factors including image version, size, load, andnetwork traffic. According to some embodiments, if the VM does notsuccessfully shutdown, the user can attempt to shutdown the VM again,where upon they are given the option to forcibly shutdown the VM.

To discard (e.g., delete the selected backup that was converted to a VMconfigured with the settings selected in the Render dialog) a server VM,the system administrator may select the Discard option. The VM must berendered again to start a new server VM. To access the server VM, thesystem administrator may select the Login button. This opens a VirtualNetwork Computing (VNC) client window 2300 of FIG. 23. The systemadministrator may log into the server using appropriate credentials forthat server. To proceed, the system administrator may click the buttonin the upper left to generate a Ctrl-Alt-Del sequence.

In addition to the built-in VNC client viewer, the system administratorcan access a server VM through a separate VNC client viewer or throughremote desktop. It is noteworthy that in some instances, to access aserver VM through a remote desktop, it may be required that a VPNconnection be established. In addition, a user session may be timed outafter 30 minutes of inactivity.

If a remote desktop protocol (RDP), such as the Microsoft Remote DesktopProtocol, is enabled on the server running as a VM, the systemadministrator can access the VM by opening a Remote Desktop ConnectionClient. Enter the server IP address or host name using the built-inremote desktop functionality included in the Operating System of thelocal machine. VNC may be enabled by default, so the systemadministrator can access the VM by opening a VNC client viewer. Next,the system administrator may either enter the VNC IP address if it wasset or the gateway IP address with the VNC port number that the systemhas allocated for the server VM (e.g., vncIP:port# or gatewayIP:port#).The port number and password to enter in the authentication window isdisplayed in the VNC Port and VNC Password columns for that server VM inthe Client Details interface (see FIG. 19). Information appears in theVNC Port and VNC Password columns only when the VM is running; thecolumns are blank when the VM is in any other state. In some instances,these data may be moved to another pane on the screen. Specifically, thedata may be moved to a summary pane that may be shown in the tablebeneath the row, with which the information corresponds.

It is noteworthy that the VNC is a remote control application thatallows the system administrator to view and interact with one computerthrough a client “viewer” application on another computer anywhere onthe Internet. The VNC is operating system independent, so the target andclient computers can be of different types (for example, the VNC vieweron a Windows® system accessing a Linux® system). It will be understoodthat when starting any VNC viewer, to access the VM, consider thefollowing requirements. For example, when the VM starts, it mustinitially adjust device drivers, including mouse and keyboard drivers.This normally is obvious when first connecting to the VM through a VNCclient, as the VM might not respond to mouse or keyboard activity duringthis period. Additionally, it may be necessary to issue theControl-Alt-Delete keyboard sequence to login to the VM. Most VNCclients have a helper menu that is accessed through a function key.

FIG. 24 illustrates an exemplary Client interface 2400 that lists activevirtualizations for a particular client. The first virtualization shownrepresents VM's running within a client's network on the backupappliance. The second shows a laptop virtualized in the cloud, and thelast entry represents a running cloud-based virtualization of thepresent technology. Client interface 2400 allows a client to see all thevirtualization activity from one screen regardless of whether thevirtualizations are local within their network, or in the cloud. TheClient interface 2400 also includes a Test Virtualization Resourcespanel that includes metrics for a specified virtualization such as CPU,VPN, RAM, and so forth, as well as total uptime for the selectedvirtualization.

FIG. 24A illustrates an exemplary method for establishing a cloud-basedvirtual office. In some embodiments the method may comprise a step 2405of providing selections, corresponding to backups of servers of acomputing network, to a user interface. Next, the method may comprise astep 2410 of establishing a cloud gateway for the virtual office. Thecloud gateway may be configured with an IP address that corresponds tothe physical gateway of a corresponding physical network. Also, thecloud gateway may include netmask information.

Next, the method may comprise a step 2415 of executing a backup for eachselected server using a virtualization program to create the cloud-basedvirtual office that includes virtual server machines networked with oneanother via the cloud gateway. Additionally, the method may comprise astep 2420 of providing a workload to the cloud-based virtual office. Insome instances, the workload provided to the cloud-based virtual officemay comprise any workload that is processed by the physical network thatthe cloud-based network office has replaced. In some instances, theworkload may comprise providing a website, executing an application orprogram, and delivering content—just to name a few. In other instances,the workload may also comprise providing an end user with access to thecloud-based virtual office.

FIG. 25 is an exemplary user interface 2500 that comprises a DeviceInventory Navigation Table. Although not shown, a client name displayedin the upper left corner of the user interface 2500 is clickable andtakes the user back to the client details page. A device name 2505“Cataclysm9” is shown along a first row of the Device InventoryNavigation Table. Clicking on the device name 2505 may redirect the userto the device details page. The table shows a combined protection healthstatus and related information along with cloud virtualization statusinformation for each given device.

Clicking anywhere in the device inventory row 2510 may open the devicesummary pane. Exceptions are if the column has its own click handling.For example, the Device Name column or the actions column. According tosome embodiments, an actions column header 2515 may not perform a tablesort as other column headers do, but may cause the display of a set ofglobal actions that can be performed against the selected devices in thetable. If no devices are selected, then the only action available to theuser is “Select all shown” which selects all the checkboxes for thedevices currently in the table, and then the actions in the menu areupdated to show the complete list of actions available for massoperations. Exemplary global actions that are available include: Recoverselected, Pause selected, Protect selected, and so forth.

A select column header action 2520 may be utilized to select all (or aportion) of the current displayed rows. Clicking a pre-filter tab ofDevice Inventory Tabs 2525 will display the list in pre-filtered as itsrespective name implies. “All Protected” shows all protected devices nomatter the state of the device. This may not include Unprotected orArchived devices. Troubled and Warned show devices that have a status oftroubled or warned as appropriate. Any device that is virtualized eitherlocally or in the cloud is listed in the virtualized filtered devicelist.

In some instances, only cloud virtualized devices are listed.Unprotected column shows devices that are detected on the client'snetwork, but may not have a protection policy. This includes “ignored”unprotected devices. Non-active tabs may be placed into a hover state.The white caret (e.g., triangle icon) indicates the currently selectedtab, and slides across the tab bar from one tab to a newly selected tabas additional tabs are selected.

A filter tab 2530 may be selected to take the user to a list of alldevices (protected, unprotected, archived, and so forth) that can befiltered. Devices that are virtualized have a status icon 2535 providedin the device inventory list view. If the device is virtualized locallyand in the cloud (e.g., virtual office) then two icons may be shown. Theicon may also denote whether the virtualization is test or production.

Time entries displayed for each device may be shown relative to theclient's timezone preference. A freshest backup column 2540 may besortable, and may not be dynamically updated as time progresses. Thetable may also comprise a timezone specification as well as an infinitescroll 2545. An initial forty rows may be loaded and displayed. Morerows may be loaded as the user scrolls to the bottom of the page.

FIG. 26 illustrates an exemplary user interface 2600 that comprises aDevice Table that includes a Device Summary Pane Desktop Image 2605. Insome embodiments, the Device Summary Pane Desktop Image 2605 is thesubstantially the same as the desktop image displayed for the device inthe carousel navigation of the device inventory. Clicking the DeviceSummary Pane Desktop Image 2605 takes the user to the device detailspage. The desired capability is to allow the user to login to the deviceregardless of whether the device is the physical device, locallyvirtualized device, or cloud virtualized device.

A user given device name 2610, or hostname if the user has not given thedevice a name, may be shown. Clicking the user given device name 2610may redirect the user to the device details. The device status in asummary 2615 includes, for example, the protection status, thevirtualization activity for the device, and the current protectionactivity for the device (e.g., running, idle, paused, etc.). Forunprotected devices, the protection status is “Unprotected”. Forarchived devices the status is “archived”. Device details 2620 maycomprise information that describes the detected/specified device typeand current specified IP address within the system.

Age details 2625 may include the date of the oldest recovery point,shown as the most recent. The display of each recovery point may bedriven by the human readable date/time display which is relative to thecurrent time. The date/times for the backups are the completiondate/times for the backup. Hovering and/or clicking on the relativetimes shows the absolute time in a tooltip style popout, or other visualdisplay that would be known to one of ordinary skill in the art. Humanreadable time may be specified elsewhere.

A login button 2630 may be selected to display the web VNC client in anew window for Devices that are currently virtualized in a cloudfailover and running. Local appliance failovers may not be given a Loginbutton, although in some instances they may.

Clicking details button 2635 may direct the user to the device detailspage. Clicking the edit policy button 2640 may open a Protect flow withthe current protection policy for this device and allows the user tomake changes to the device's protection policy. Clicking recover button2645 may open the Recover flow with this device preselected as thetarget of the recovery operation.

A device description section 2650 may comprise a human readable summaryof the device protection policy and current protection andvirtualization activity.

FIG. 27 is an exemplary user interface 2700 that comprises aSpecifications Device Table. The user interface 2700 may allow end usersto add criteria by clicking an add criteria button 2710, which addsanother filter criteria row to the filter specification. The end usermay remove current filter criteria rows by clicking a remove criteriabutton 2705. Filter criteria rows dropdown boxes 2715 represent an AND(e.g., conjunctive) relationship between values. The Filter criteria maybe “Anded” with a search value. A “none” parameter may be set by defaultso that all devices are shown. The filter parameters that are present inthe filter criteria rows dropdown boxes 2715 may comprise, but are notlimited to, Protection Status, Type, Virtualization type, Tag, O/S Type,Current activity (Paused/Running), Service ID, IP address.

The user interface 2700 may also comprise a search input 2720 thatallows end users to input a search string that filters the list pagecontents to any devices that have a portion of the search text presentin the Device Name.

FIG. 28 is an exemplary user interface 2800 that comprises DeviceVisualizations. The user interface 2800 may comprise a desktop screengrab 2805 arranged into a carousel view. Clicking a not-currently-activedevice's desktop image such as Desktop Image 2805A causes the image tocarousel to the center. If the desktop image is the rightmost orleftmost image, then empty space is shown to the left or right asappropriate. The desktop images may be periodically refreshed at apredetermined interval. The desktop images may be sorted in alphabeticorder based on the device name.

Clicking a device name 2815 may direct the user to the Device Detailspage for the device. A device summary pane 2820 may be displayed in thecarousel view and may include the same functionality as the summarypanes displayed in the device table view. Clicking a navigation object2825 may cause the desktop images to horizontally scroll. For example,pressing the right arrow, causes the desktop images to scroll left byone image. On scroll, a new currently active device's summary pane maybe loaded and displayed. A desktop image icon 2830 may be shown on topof the desktop image, if a desktop image is provided. If no desktopimage is provided, then the desktop image icon 2830 may be displayed inplace of the desktop image on top of a background. The overlay image maybe predicated on the device type, and operating system type. The userinterface 2800 may also comprise Device Inventory Tabs 2835, which havebeen described in greater detail above.

FIG. 29 is a block diagram of an exemplary computing device. Thecomputing device of FIG. 29 may be used to implement computing device,web server, application server and third party web server. The computersystem 2900 includes one or more processors 2910 and main memory 2920.Main memory 2920 stores, in part, instructions and data for execution byprocessor 2910. Main memory 2920 can store the executable code when inoperation. The computer system 2900 further includes a mass storagedevice 2930, portable storage medium drive(s) 2940, output devices 2950,user input devices 2960, a graphics display 2970, and peripheraldevice(s) 2980.

The components shown in FIG. 29 are depicted as being connected via asingle bus 2990. The components may be connected through one or moredata transport means. The processor 2910 and the main memory 2920 may beconnected via a local microprocessor bus, and the mass storage device2930, the peripheral devices 2980, the portable storage medium drive(s)2940, and graphics display 2970 may be connected via one or moreinput/output (I/O) buses.

The mass storage device 2930, which may be implemented with a magneticdisk drive or an optical disk drive, is a non-volatile storage devicefor storing data and instructions for use by the processor 2910. Themass storage device 2930 can store the system software for implementingembodiments of the present technology for purposes of loading thatsoftware into the main memory 2920.

The portable storage device 2940 operates in conjunction with a portablenon-volatile storage medium, such as a floppy disk, compact disk,digital video disc, or USB storage device, to input and output data andcode to and from the computer system 2900 of FIG. 29. The systemsoftware for implementing embodiments of the present technology may bestored on such a portable medium and input to the computer system 2900via the portable storage device 2940.

The user input devices 2960 provide a portion of a user interface. Theuser input devices 2960 may include an alpha-numeric keypad, such as akeyboard, for inputting alpha-numeric and other information, or apointing device, such as a mouse, a trackball, stylus, or cursordirection keys. Additionally, the computer system 2900 as shown in FIG.29 includes the output devices 2950. Suitable output devices includespeakers, printers, network interfaces, and monitors.

The graphics display 2970 may include a liquid crystal display (LCD) orother suitable display device. The graphics display 2970 receivestextual and graphical information, and processes the information foroutput to the display device.

The peripheral device(s) 2980 may include any type of computer supportdevice to add additional functionality to the computer system. Theperipheral device(s) 2980 may include a modem or a router.

The components associated with the computer system 2900 of FIG. 29 arethose typically found in computer systems that may be suitable for usewith embodiments of the present technology and are intended to representa broad category of such computer components that are well known in theart. Thus, the computer system 2900 of FIG. 29 can be a personalcomputer, hand held computing device, telephone, mobile computingdevice, workstation, server, minicomputer, mainframe computer, or anyother computing device. The computer can also include different busconfigurations, networked platforms, multi-processor platforms, etc.Various operating systems can be used including Unix, Linux, Windows,Macintosh OS, Palm OS, webOS, Android, iPhone OS and other suitableoperating systems.

It is noteworthy that any hardware platform suitable for performing theprocessing described herein is suitable for use with the technology.Computer-readable storage media refer to any medium or media thatparticipate in providing instructions to a central processing unit(CPU), a processor, a microcontroller, or the like. Such media may takeforms including, but not limited to, non-volatile and volatile mediasuch as optical or magnetic disks and dynamic memory, respectively.Common forms of computer-readable storage media include a floppy disk, aflexible disk, a hard disk, magnetic tape, any other magnetic storagemedium, a CD-ROM disk, digital video disk (DVD), any other opticalstorage medium, RAM, PROM, EPROM, a FLASHEPROM, any other memory chip orcartridge.

While certain exemplary embodiments have been described and shown in theaccompanying drawings, it is to be understood that such embodiments aremerely illustrative and not restrictive of the broad disclosure and thatthis disclosure is not limited to the specific constructions andarrangements shown and described, since various other modifications mayoccur to those ordinarily skilled in the art upon studying thisdisclosure. In an area of technology such as this, where growth is fastand further advancements are not easily foreseen, the disclosedembodiments may be readily modifiable in arrangement and detail asfacilitated by enabling technological advancements without departingfrom the principals of the present disclosure.

In the foregoing specification, specific embodiments of the presentdisclosure have been described. However, one of ordinary skill in theart appreciates that various modifications and changes can be madewithout departing from the scope of the present disclosure as set forthin the claims below. Accordingly, the specification and figures are tobe regarded in an illustrative rather than a restrictive sense, and allsuch modifications are intended to be included within the scope ofpresent disclosure. The benefits, advantages, solutions to problems, andany element(s) that may cause any benefit, advantage, or solution tooccur or become more pronounced are not to be construed as a critical,required, or essential features or elements of any or all the claims.The disclosure is defined solely by the appended claims including anyamendments made during the pendency of this application and allequivalents of those claims as issued.

What is claimed is:
 1. A method for managing a cloud-based virtualmachine, comprising: receiving a selection of at least one of one ormore backups of a computing device; virtualizing the at least one of theone or more backups using a virtualization program to create acloud-based virtual office having configuration details; dedicatingcomputing resources to a cloud-based virtual office that corresponds tothe computing device; establishing dynamic host configuration protocol(DHCP) settings for the cloud-based virtual office by receiving one ormore domain names and one or more DNS server Internet protocol addressassociated with the domain names via a DHCP user interface; applying theDHCP settings to the cloud-based virtual office; and providing access tothe cloud-based virtual office to a remote user.
 2. The method accordingto claim 1, further comprising establishing a cloud gateway for thecloud-based virtual office by receiving gateway information and netmaskinformation for the cloud-based virtual office.
 3. The method accordingto claim 1, wherein providing access to the cloud-based virtual officeto a remote user comprises establishing at least one client Internetprotocol address and at least one set of VPN access credentials.
 4. Themethod according to claim 1, further comprising receiving networksettings for the cloud-based virtual office that comprise any of VPNinformation, DHCP information, port forwarding information, or anycombinations thereof.
 5. The method according to claim 4, wherein thenetwork settings are received via a user interface that allows an enduser to any of enable VPN access to the cloud-based virtual office,enable port forwarding for the cloud-based virtual office, enableinbound/outbound connections for the cloud-based virtual office, enableDHCP for the cloud-based virtual office, or combinations thereof.
 6. Themethod according to claim 4, further comprising: updating the networksettings for the cloud-based virtual office by receiving updated gatewayand netmask information for the cloud-based virtual office; and applyingthe updated gateway and the netmask information to the cloud-basedvirtual office.
 7. The method according to claim 6, further comprisingmanaging Internet connectivity of the cloud-based virtual office byenabling or disabling inbound or outbound data transfer relative to thecloud-based virtual office.
 8. The method according to claim 1, furthercomprising establishing virtual network computing (VNC) access to thecloud-based virtual office by specifying one or more Internet protocoladdresses that are to be used when an Internet protocol address of acloud gateway is unavailable.
 9. The method according to claim 1,further comprising establishing port forwarding settings for thecloud-based virtual office by receiving an external port number, aninternal Internet protocol address, and an internal port address from anend user via a port forwarding user interface; and applying at least aportion of the port forwarding settings to the cloud-based virtualoffice.
 10. The method according to claim 1, further comprisingestablishing dynamic host configuration protocol settings for thecloud-based virtual office by receiving one or more domain names and oneor more DNS server Internet protocol address associated with the domainnames from an end user via a DHCP user interface; and applying thedynamic host configuration protocol settings to the cloud-based virtualoffice.
 11. The method according to claim 10, further comprisingassigning at least one of the one or more DNS server Internet protocoladdress of the cloud-based virtual office to a virtual machine byassociating a media access control address of the virtual machine withthe at least one of the one or more DNS server Internet protocoladdress.
 12. The method according to claim 1, further comprisingestablishing site-to-site virtual private network settings for thecloud-based virtual office by: establishing a local machine that willexecute a VPN endpoint image; defining an endpoint name for the localmachine within the cloud-based virtual office; establishing networksettings for the local machine; downloading the VPN endpoint image tothe local machine; executing the VPN endpoint image using avirtualization program to create a virtual machine; and adding thevirtual machine to a network routing table of the cloud-based virtualoffice.
 13. The method according claim 1, further comprising executing avirtual machine for each server in the cloud-based virtual office by:receiving a selection of a backup for the virtual machine; receiving aselection of CPU core settings for the virtual machine; receiving memoryallocation settings for the virtual machine; and rendering the virtualmachine.
 14. The method according to claim 1, further comprisingproviding a virtual office user interface to an end user that comprisesany of selectable network configuration tabs for the cloud-based virtualoffice, virtual machine information for each virtual machine within thecloud-based virtual office, a current status for the cloud-based virtualoffice, or combinations thereof.
 15. The method according to claim 14,wherein the selectable network configuration tabs comprises any of VPNinformation, DHCP information, port forwarding information, orcombinations thereof.
 16. The method according to claim 1, furthercomprising: generating backups for the cloud-based virtual office; andpopulating a failover appliance with data included in the backups. 17.The method according to claim 1, further comprising providing a userinterface that allows an end user to control any of the cloud-basedvirtual machine, a non-cloud-based virtual machine, and combinationsthereof.
 18. The method according to claim 17, wherein the userinterface comprises representations of a backup status for eachcomputing device, a current status for the cloud-based virtual machinethat corresponds to the computing device, a visual representation of astatus for the cloud-based virtual office, and any combinations thereof.19. A method for establishing a cloud-based virtual office, the methodcomprising: providing selections, corresponding to backups of devices ofa computing network, to a user interface; establishing a cloud gatewayfor the cloud-based virtual office; virtualizing a backup for eachselected device of the devices using a virtualization program to createthe cloud-based virtual office that includes virtual server machinesnetworked with one another via the cloud gateway; and providing aworkload to the cloud-based virtual office.
 20. A system providing acloud-based virtual office executing within a computing environment, thecloud-based virtual office comprising virtual server machines thatcorrespond to servers of a physical network, each virtual server machinebeing virtualized by a virtualization program from a backup of a primaryserver, the backup of the primary server being stored within memory ofthe computing environment, the virtualization program being executed bya processor of the computing environment, the processor furtherestablishing a cloud gateway that networks the virtual server machinestogether.
 21. The system according to claim 20, wherein the computingenvironment comprises an intermediary node between the physical networkand a backup node that stores backups for at least a portion of theservers of the physical network.
 22. The system according to claim 21,wherein the computing environment comprises a failover appliance that isdisposed locally to the physical network.